module klang.klang.常量计算.klang常量计算_;
import 全局;
import klang.编译.类型.类型_: 符号表_;
import klang.编译.核心.核心_: 创建数组;
string 计算加法_文本8(string 左, string 右) {
    return 左 ~ 右;
}
wstring 计算加法_文本16(wstring 左, wstring 右) {
    return 左 ~ 右;
}
dstring 计算加法_文本32(dstring 左, dstring 右) {
    return 左 ~ 右;
}
int 计算加法_整数8(byte 左, byte 右) {
    return 左 + 右;
}
int 计算加法_整数16(short 左, short 右) {
    return 左 + 右;
}
int 计算加法_整数32(int 左, int 右) {
    return 左 + 右;
}
long 计算加法_整数64(long 左, long 右) {
    return 左 + 右;
}
ubyte 计算加法_正整数8(ubyte 左, ubyte 右) {
    return (cast(ubyte)(左 + 右));
}
ushort 计算加法_正整数16(ushort 左, ushort 右) {
    return (cast(ushort)(左 + 右));
}
uint 计算加法_正整数32(uint 左, uint 右) {
    return 左 + 右;
}
ulong 计算加法_正整数64(ulong 左, ulong 右) {
    return 左 + 右;
}
float 计算加法_小数32(float 左, float 右) {
    return 左 + 右;
}
double 计算加法_小数64(double 左, double 右) {
    return 左 + 右;
}
ifloat 计算加法_虚数32(ifloat 左, ifloat 右) {
    return 左 + 右;
}
idouble 计算加法_虚数64(idouble 左, idouble 右) {
    return 左 + 右;
}
int 计算减法_整数8(byte 左, byte 右) {
    return 左 - 右;
}
int 计算减法_整数16(short 左, short 右) {
    return 左 - 右;
}
int 计算减法_整数32(int 左, int 右) {
    return 左 - 右;
}
long 计算减法_整数64(long 左, long 右) {
    return 左 - 右;
}
ubyte 计算减法_正整数8(ubyte 左, ubyte 右) {
    return (cast(ubyte)(左 - 右));
}
ushort 计算减法_正整数16(ushort 左, ushort 右) {
    return (cast(ushort)(左 - 右));
}
uint 计算减法_正整数32(uint 左, uint 右) {
    return 左 - 右;
}
ulong 计算减法_正整数64(ulong 左, ulong 右) {
    return 左 - 右;
}
float 计算减法_小数32(float 左, float 右) {
    return 左 - 右;
}
double 计算减法_小数64(double 左, double 右) {
    return 左 - 右;
}
ifloat 计算减法_虚数32(ifloat 左, ifloat 右) {
    return 左 - 右;
}
idouble 计算减法_虚数64(idouble 左, idouble 右) {
    return 左 - 右;
}
int 计算乘法_整数8(byte 左, byte 右) {
    return 左 * 右;
}
int 计算乘法_整数16(short 左, short 右) {
    return 左 * 右;
}
int 计算乘法_整数32(int 左, int 右) {
    return 左 * 右;
}
long 计算乘法_整数64(long 左, long 右) {
    return 左 * 右;
}
ubyte 计算乘法_正整数8(ubyte 左, ubyte 右) {
    return (cast(ubyte)(左 * 右));
}
ushort 计算乘法_正整数16(ushort 左, ushort 右) {
    return (cast(ushort)(左 * 右));
}
uint 计算乘法_正整数32(uint 左, uint 右) {
    return 左 * 右;
}
ulong 计算乘法_正整数64(ulong 左, ulong 右) {
    return 左 * 右;
}
float 计算乘法_小数32(float 左, float 右) {
    return 左 * 右;
}
double 计算乘法_小数64(double 左, double 右) {
    return 左 * 右;
}
ifloat 计算乘法_虚数32(ifloat 左, ifloat 右) {
    return (cast(ifloat)(左 * 右));
}
idouble 计算乘法_虚数64(idouble 左, idouble 右) {
    return (cast(idouble)(左 * 右));
}
int 计算除法_整数8(byte 左, byte 右) {
    return 左 / 右;
}
int 计算除法_整数16(short 左, short 右) {
    return 左 / 右;
}
int 计算除法_整数32(int 左, int 右) {
    return 左 / 右;
}
long 计算除法_整数64(long 左, long 右) {
    return 左 / 右;
}
ubyte 计算除法_正整数8(ubyte 左, ubyte 右) {
    return 左 / 右;
}
ushort 计算除法_正整数16(ushort 左, ushort 右) {
    return 左 / 右;
}
uint 计算除法_正整数32(uint 左, uint 右) {
    return 左 / 右;
}
ulong 计算除法_正整数64(ulong 左, ulong 右) {
    return 左 / 右;
}
float 计算除法_小数32(float 左, float 右) {
    return 左 / 右;
}
double 计算除法_小数64(double 左, double 右) {
    return 左 / 右;
}
ifloat 计算除法_虚数32(ifloat 左, ifloat 右) {
    return (cast(ifloat)(左 / 右));
}
idouble 计算除法_虚数64(idouble 左, idouble 右) {
    return (cast(idouble)(左 / 右));
}
int 计算余数_整数8(byte 左, byte 右) {
    return 左 % 右;
}
int 计算余数_整数16(short 左, short 右) {
    return 左 % 右;
}
int 计算余数_整数32(int 左, int 右) {
    return 左 % 右;
}
long 计算余数_整数64(long 左, long 右) {
    return 左 % 右;
}
ubyte 计算余数_正整数8(ubyte 左, ubyte 右) {
    return 左 % 右;
}
ushort 计算余数_正整数16(ushort 左, ushort 右) {
    return 左 % 右;
}
uint 计算余数_正整数32(uint 左, uint 右) {
    return 左 % 右;
}
ulong 计算余数_正整数64(ulong 左, ulong 右) {
    return 左 % 右;
}
float 计算余数_小数32(float 左, float 右) {
    return 左 % 右;
}
double 计算余数_小数64(double 左, double 右) {
    return 左 % 右;
}
ifloat 计算余数_虚数32(ifloat 左, ifloat 右) {
    return 左 % 右;
}
idouble 计算余数_虚数64(idouble 左, idouble 右) {
    return 左 % 右;
}
int 计算且运算_整数8(byte 左, byte 右) {
    return 左 & 右;
}
int 计算且运算_整数16(short 左, short 右) {
    return 左 & 右;
}
int 计算且运算_整数32(int 左, int 右) {
    return 左 & 右;
}
long 计算且运算_整数64(long 左, long 右) {
    return 左 & 右;
}
ubyte 计算且运算_正整数8(ubyte 左, ubyte 右) {
    return 左 & 右;
}
ushort 计算且运算_正整数16(ushort 左, ushort 右) {
    return 左 & 右;
}
uint 计算且运算_正整数32(uint 左, uint 右) {
    return 左 & 右;
}
ulong 计算且运算_正整数64(ulong 左, ulong 右) {
    return 左 & 右;
}
int 计算异或运算_整数8(byte 左, byte 右) {
    return 左 ^ 右;
}
int 计算异或运算_整数16(short 左, short 右) {
    return 左 ^ 右;
}
int 计算异或运算_整数32(int 左, int 右) {
    return 左 ^ 右;
}
long 计算异或运算_整数64(long 左, long 右) {
    return 左 ^ 右;
}
ubyte 计算异或运算_正整数8(ubyte 左, ubyte 右) {
    return 左 ^ 右;
}
ushort 计算异或运算_正整数16(ushort 左, ushort 右) {
    return 左 ^ 右;
}
uint 计算异或运算_正整数32(uint 左, uint 右) {
    return 左 ^ 右;
}
ulong 计算异或运算_正整数64(ulong 左, ulong 右) {
    return 左 ^ 右;
}
int 计算或运算_整数8(byte 左, byte 右) {
    return 左 | 右;
}
int 计算或运算_整数16(short 左, short 右) {
    return 左 | 右;
}
int 计算或运算_整数32(int 左, int 右) {
    return 左 | 右;
}
long 计算或运算_整数64(long 左, long 右) {
    return 左 | 右;
}
ubyte 计算或运算_正整数8(ubyte 左, ubyte 右) {
    return 左 | 右;
}
ushort 计算或运算_正整数16(ushort 左, ushort 右) {
    return 左 | 右;
}
uint 计算或运算_正整数32(uint 左, uint 右) {
    return 左 | 右;
}
ulong 计算或运算_正整数64(ulong 左, ulong 右) {
    return 左 | 右;
}
byte 计算左移_整数8(byte 左, byte 右) {
    return (cast(byte)(左 << 右));
}
short 计算左移_整数16(short 左, short 右) {
    return (cast(short)(左 << 右));
}
int 计算左移_整数32(int 左, int 右) {
    return 左 << 右;
}
long 计算左移_整数64(long 左, long 右) {
    return 左 << 右;
}
ubyte 计算左移_正整数8(ubyte 左, ubyte 右) {
    return (cast(ubyte)(左 << 右));
}
ushort 计算左移_正整数16(ushort 左, ushort 右) {
    return (cast(ushort)(左 << 右));
}
uint 计算左移_正整数32(uint 左, uint 右) {
    return 左 << 右;
}
ulong 计算左移_正整数64(ulong 左, ulong 右) {
    return 左 << 右;
}
byte 计算右移_整数8(byte 左, byte 右) {
    return 左 >> 右;
}
short 计算右移_整数16(short 左, short 右) {
    return 左 >> 右;
}
int 计算右移_整数32(int 左, int 右) {
    return 左 >> 右;
}
long 计算右移_整数64(long 左, long 右) {
    return 左 >> 右;
}
ubyte 计算右移_正整数8(ubyte 左, ubyte 右) {
    return 左 >> 右;
}
ushort 计算右移_正整数16(ushort 左, ushort 右) {
    return 左 >> 右;
}
uint 计算右移_正整数32(uint 左, uint 右) {
    return 左 >> 右;
}
ulong 计算右移_正整数64(ulong 左, ulong 右) {
    return 左 >> 右;
}
byte 一元计算加_整数8(byte 左) {
    return 左;
}
short 一元计算加_整数16(short 左) {
    return 左;
}
int 一元计算加_整数32(int 左) {
    return 左;
}
long 一元计算加_整数64(long 左) {
    return 左;
}
ubyte 一元计算加_正整数8(ubyte 左) {
    return 左;
}
ushort 一元计算加_正整数16(ushort 左) {
    return 左;
}
uint 一元计算加_正整数32(uint 左) {
    return 左;
}
ulong 一元计算加_正整数64(ulong 左) {
    return 左;
}
float 一元计算加_小数32(float 左) {
    return 左;
}
double 一元计算加_小数64(double 左) {
    return 左;
}
ifloat 一元计算加_虚数32(ifloat 左) {
    return 左;
}
idouble 一元计算加_虚数64(idouble 左) {
    return 左;
}
byte 一元计算减_整数8(byte 左) {
    return -左;
}
short 一元计算减_整数16(short 左) {
    return -左;
}
int 一元计算减_整数32(int 左) {
    return -左;
}
long 一元计算减_整数64(long 左) {
    return -左;
}
ubyte 一元计算减_正整数8(ubyte 左) {
    return -左;
}
ushort 一元计算减_正整数16(ushort 左) {
    return -左;
}
uint 一元计算减_正整数32(uint 左) {
    return -左;
}
ulong 一元计算减_正整数64(ulong 左) {
    return -左;
}
float 一元计算减_小数32(float 左) {
    return -左;
}
double 一元计算减_小数64(double 左) {
    return -左;
}
ifloat 一元计算减_虚数32(ifloat 左) {
    return -左;
}
idouble 一元计算减_虚数64(idouble 左) {
    return -左;
}
byte 一元计算取反_整数8(byte 左) {
    return ~左;
}
short 一元计算取反_整数16(short 左) {
    return ~左;
}
int 一元计算取反_整数32(int 左) {
    return ~左;
}
long 一元计算取反_整数64(long 左) {
    return ~左;
}
ubyte 一元计算取反_正整数8(ubyte 左) {
    return ~左;
}
ushort 一元计算取反_正整数16(ushort 左) {
    return ~左;
}
uint 一元计算取反_正整数32(uint 左) {
    return ~左;
}
ulong 一元计算取反_正整数64(ulong 左) {
    return ~左;
}
